// -*- mode: c++ -*-
#ifndef SYNTHTABLE_H
#define SYNTHTABLE_H
#include "utils.h"

namespace _sbsms_ {

long synthTable1[512] = 
{
2147450880,
2147319810,
2146795530,
2146009110,
2144895015,
2143387710,
2141618265,
2139521145,
2137096350,
2134343880,
2131329270,
2127921450,
2124185955,
2120188320,
2115863010,
2111144490,
2106163830,
2100921030,
2095285020,
2089321335,
2083095510,
2076542010,
2069660835,
2062451985,
2054980995,
2047182330,
2039055990,
2030667510,
2021951355,
2012907525,
2003536020,
1993902375,
1984006590,
1973783130,
1963231995,
1952418720,
1941277770,
1929874680,
1918143915,
1906151010,
1893895965,
1881313245,
1868468385,
1855361385,
1841926710,
1828229895,
1814270940,
1800049845,
1785566610,
1770755700,
1755748185,
1740412995,
1724881200,
1709021730,
1692965655,
1676581905,
1660001550,
1643159055,
1626054420,
1608753180,
1591124265,
1573364280,
1555276620,
1536992355,
1518445950,
1499702940,
1480763325,
1461561570,
1442163210,
1422502710,
1402645605,
1382591895,
1362341580,
1341829125,
1321185600,
1300279935,
1279243200,
1257944325,
1236514380,
1214887830,
1193064675,
1171044915,
1148894085,
1126546650,
1104002610,
1081327500,
1058455785,
1035453000,
1012319145,
988988685,
965527155,
941934555,
918145350,
894290610,
870239265,
846056850,
821808900,
797364345,
772854255,
748213095,
723440865,
698603100,
673634265,
648534360,
623368920,
598137945,
572775900,
547282785,
521789670,
496165485,
470541300,
444786045,
418965255,
393078930,
367127070,
341109675,
315092280,
289009350,
262860885,
236712420,
210498420,
184218885,
158004885,
131659815,
105380280,
79035210,
52690140,
26345070,
0,
-26345070,
-52690140,
-79035210,
-105380280,
-131659815,
-158004885,
-184218885,
-210498420,
-236712420,
-262860885,
-289009350,
-315092280,
-341109675,
-367127070,
-393078930,
-418965255,
-444786045,
-470541300,
-496165485,
-521789670,
-547282785,
-572775900,
-598137945,
-623368920,
-648534360,
-673634265,
-698603100,
-723440865,
-748213095,
-772854255,
-797364345,
-821808900,
-846056850,
-870239265,
-894290610,
-918145350,
-941934555,
-965527155,
-988988685,
-1012319145,
-1035453000,
-1058455785,
-1081327500,
-1104002610,
-1126546650,
-1148894085,
-1171044915,
-1193064675,
-1214887830,
-1236514380,
-1257944325,
-1279243200,
-1300279935,
-1321185600,
-1341829125,
-1362341580,
-1382591895,
-1402645605,
-1422502710,
-1442163210,
-1461561570,
-1480763325,
-1499702940,
-1518445950,
-1536992355,
-1555276620,
-1573364280,
-1591124265,
-1608753180,
-1626054420,
-1643159055,
-1660001550,
-1676581905,
-1692965655,
-1709021730,
-1724881200,
-1740412995,
-1755748185,
-1770755700,
-1785566610,
-1800049845,
-1814270940,
-1828229895,
-1841926710,
-1855361385,
-1868468385,
-1881313245,
-1893895965,
-1906151010,
-1918143915,
-1929874680,
-1941277770,
-1952418720,
-1963231995,
-1973783130,
-1984006590,
-1993902375,
-2003536020,
-2012907525,
-2021951355,
-2030667510,
-2039055990,
-2047182330,
-2054980995,
-2062451985,
-2069660835,
-2076542010,
-2083095510,
-2089321335,
-2095285020,
-2100921030,
-2106163830,
-2111144490,
-2115863010,
-2120188320,
-2124185955,
-2127921450,
-2131329270,
-2134343880,
-2137096350,
-2139521145,
-2141618265,
-2143387710,
-2144895015,
-2146009110,
-2146795530,
-2147319810,
-2147450880,
-2147319810,
-2146795530,
-2146009110,
-2144895015,
-2143387710,
-2141618265,
-2139521145,
-2137096350,
-2134343880,
-2131329270,
-2127921450,
-2124185955,
-2120188320,
-2115863010,
-2111144490,
-2106163830,
-2100921030,
-2095285020,
-2089321335,
-2083095510,
-2076542010,
-2069660835,
-2062451985,
-2054980995,
-2047182330,
-2039055990,
-2030667510,
-2021951355,
-2012907525,
-2003536020,
-1993902375,
-1984006590,
-1973783130,
-1963231995,
-1952418720,
-1941277770,
-1929874680,
-1918143915,
-1906151010,
-1893895965,
-1881313245,
-1868468385,
-1855361385,
-1841926710,
-1828229895,
-1814270940,
-1800049845,
-1785566610,
-1770755700,
-1755748185,
-1740412995,
-1724881200,
-1709021730,
-1692965655,
-1676581905,
-1660001550,
-1643159055,
-1626054420,
-1608753180,
-1591124265,
-1573364280,
-1555276620,
-1536992355,
-1518445950,
-1499702940,
-1480763325,
-1461561570,
-1442163210,
-1422502710,
-1402645605,
-1382591895,
-1362341580,
-1341829125,
-1321185600,
-1300279935,
-1279243200,
-1257944325,
-1236514380,
-1214887830,
-1193064675,
-1171044915,
-1148894085,
-1126546650,
-1104002610,
-1081327500,
-1058455785,
-1035453000,
-1012319145,
-988988685,
-965527155,
-941934555,
-918145350,
-894290610,
-870239265,
-846056850,
-821808900,
-797364345,
-772854255,
-748213095,
-723440865,
-698603100,
-673634265,
-648534360,
-623368920,
-598137945,
-572775900,
-547282785,
-521789670,
-496165485,
-470541300,
-444786045,
-418965255,
-393078930,
-367127070,
-341109675,
-315092280,
-289009350,
-262860885,
-236712420,
-210498420,
-184218885,
-158004885,
-131659815,
-105380280,
-79035210,
-52690140,
-26345070,
0,
26345070,
52690140,
79035210,
105380280,
131659815,
158004885,
184218885,
210498420,
236712420,
262860885,
289009350,
315092280,
341109675,
367127070,
393078930,
418965255,
444786045,
470541300,
496165485,
521789670,
547282785,
572775900,
598137945,
623368920,
648534360,
673634265,
698603100,
723440865,
748213095,
772854255,
797364345,
821808900,
846056850,
870239265,
894290610,
918145350,
941934555,
965527155,
988988685,
1012319145,
1035453000,
1058455785,
1081327500,
1104002610,
1126546650,
1148894085,
1171044915,
1193064675,
1214887830,
1236514380,
1257944325,
1279243200,
1300279935,
1321185600,
1341829125,
1362341580,
1382591895,
1402645605,
1422502710,
1442163210,
1461561570,
1480763325,
1499702940,
1518445950,
1536992355,
1555276620,
1573364280,
1591124265,
1608753180,
1626054420,
1643159055,
1660001550,
1676581905,
1692965655,
1709021730,
1724881200,
1740412995,
1755748185,
1770755700,
1785566610,
1800049845,
1814270940,
1828229895,
1841926710,
1855361385,
1868468385,
1881313245,
1893895965,
1906151010,
1918143915,
1929874680,
1941277770,
1952418720,
1963231995,
1973783130,
1984006590,
1993902375,
2003536020,
2012907525,
2021951355,
2030667510,
2039055990,
2047182330,
2054980995,
2062451985,
2069660835,
2076542010,
2083095510,
2089321335,
2095285020,
2100921030,
2106163830,
2111144490,
2115863010,
2120188320,
2124185955,
2127921450,
2131329270,
2134343880,
2137096350,
2139521145,
2141618265,
2143387710,
2144895015,
2146009110,
2146795530,
2147319810
};

long synthTable2[512] = {
-2,
-8,
-12,
-17,
-23,
-27,
-32,
-37,
-42,
-46,
-52,
-57,
-61,
-66,
-72,
-76,
-80,
-86,
-91,
-95,
-100,
-105,
-110,
-114,
-119,
-124,
-128,
-133,
-138,
-143,
-147,
-151,
-156,
-161,
-165,
-170,
-174,
-179,
-183,
-187,
-192,
-196,
-200,
-205,
-209,
-213,
-217,
-221,
-226,
-229,
-234,
-237,
-242,
-245,
-250,
-253,
-257,
-261,
-264,
-269,
-271,
-276,
-279,
-283,
-286,
-289,
-293,
-296,
-300,
-303,
-306,
-309,
-313,
-315,
-319,
-321,
-325,
-327,
-330,
-333,
-336,
-338,
-341,
-344,
-346,
-349,
-351,
-353,
-356,
-358,
-360,
-363,
-364,
-367,
-369,
-370,
-373,
-374,
-376,
-378,
-379,
-381,
-383,
-384,
-385,
-387,
-389,
-389,
-391,
-391,
-393,
-394,
-395,
-396,
-397,
-397,
-398,
-399,
-399,
-400,
-401,
-400,
-402,
-401,
-402,
-402,
-402,
-402,
-402,
-402,
-402,
-402,
-401,
-402,
-400,
-401,
-400,
-399,
-399,
-398,
-397,
-397,
-396,
-395,
-394,
-393,
-391,
-391,
-389,
-389,
-387,
-385,
-384,
-383,
-381,
-379,
-378,
-376,
-374,
-373,
-370,
-369,
-367,
-364,
-363,
-360,
-358,
-356,
-353,
-351,
-349,
-346,
-344,
-341,
-338,
-336,
-333,
-330,
-327,
-325,
-321,
-319,
-315,
-313,
-309,
-306,
-303,
-300,
-296,
-293,
-289,
-286,
-283,
-279,
-276,
-271,
-269,
-264,
-261,
-257,
-253,
-250,
-245,
-242,
-237,
-234,
-229,
-226,
-221,
-217,
-213,
-209,
-205,
-200,
-196,
-192,
-187,
-183,
-179,
-174,
-170,
-165,
-161,
-156,
-151,
-147,
-143,
-138,
-133,
-128,
-124,
-119,
-114,
-110,
-105,
-100,
-95,
-91,
-86,
-80,
-76,
-72,
-66,
-61,
-57,
-52,
-46,
-42,
-37,
-32,
-27,
-23,
-17,
-12,
-8,
-2,
2,
8,
12,
17,
23,
27,
32,
37,
42,
46,
52,
57,
61,
66,
72,
76,
80,
86,
91,
95,
100,
105,
110,
114,
119,
124,
128,
133,
138,
143,
147,
151,
156,
161,
165,
170,
174,
179,
183,
187,
192,
196,
200,
205,
209,
213,
217,
221,
226,
229,
234,
237,
242,
245,
250,
253,
257,
261,
264,
269,
271,
276,
279,
283,
286,
289,
293,
296,
300,
303,
306,
309,
313,
315,
319,
321,
325,
327,
330,
333,
336,
338,
341,
344,
346,
349,
351,
353,
356,
358,
360,
363,
364,
367,
369,
370,
373,
374,
376,
378,
379,
381,
383,
384,
385,
387,
389,
389,
391,
391,
393,
394,
395,
396,
397,
397,
398,
399,
399,
400,
401,
400,
402,
401,
402,
402,
402,
402,
402,
402,
402,
402,
401,
402,
400,
401,
400,
399,
399,
398,
397,
397,
396,
395,
394,
393,
391,
391,
389,
389,
387,
385,
384,
383,
381,
379,
378,
376,
374,
373,
370,
369,
367,
364,
363,
360,
358,
356,
353,
351,
349,
346,
344,
341,
338,
336,
333,
330,
327,
325,
321,
319,
315,
313,
309,
306,
303,
300,
296,
293,
289,
286,
283,
279,
276,
271,
269,
264,
261,
257,
253,
250,
245,
242,
237,
234,
229,
226,
221,
217,
213,
209,
205,
200,
196,
192,
187,
183,
179,
174,
170,
165,
161,
156,
151,
147,
143,
138,
133,
128,
124,
119,
114,
110,
105,
100,
95,
91,
86,
80,
76,
72,
66,
61,
57,
52,
46,
42,
37,
32,
27,
23,
17,
12,
8,
2
};

}

#endif
